/**
 * Copyright(c) 2014 Xunton Solutions
 *
 * History:
 *   15-11-4 下午4:23 Created by dwzhang
 */
package com.jade.framework.base.log;

/**
 * 统一的日志接口。
 *
 * @author <a href="mailto:dwzhang@xunton.com">dwzhang</a> 
 * @version 1.0 15-11-4 下午4:23
 */
public interface Log
{
    boolean isDebugEnabled();

    boolean isErrorEnabled();

    boolean isFatalEnabled();

    boolean isInfoEnabled();

    boolean isTraceEnabled();

    boolean isWarnEnabled();

    void trace(java.lang.Object o);

    void trace(String str, java.lang.Object o);

    void traceThrowable(java.lang.Object o, java.lang.Throwable throwable);

    void debug(java.lang.Object o);

    void debug(String str, java.lang.Object o);

    void debugThrowable(java.lang.Object o, java.lang.Throwable throwable);

    void info(java.lang.Object o);

    void info(String str, java.lang.Object o);

    void infoThrowable(java.lang.Object o, java.lang.Throwable throwable);

    void warn(java.lang.Object o);

    void warn(String str, java.lang.Object o);

    void warnThrowable(java.lang.Object o, java.lang.Throwable throwable);

    void error(java.lang.Object o);

    void error(String str, java.lang.Object o);

    void errorThrowable(java.lang.Object o, java.lang.Throwable throwable);

    void fatal(java.lang.Object o);

    void fatal(String str, java.lang.Object o);

    void fatalThrowable(java.lang.Object o, java.lang.Throwable throwable);
}
